Data Overview

This section gives an overview of the MIP data packets generated by the 3DM-CV7. When the device is powered up, it may be configured to immediately stream data immediately on startup or it may be “idle” and waiting for a command to either start continuous data or to get data by “polling” (one data packet per request). Either way, the data packet generated by the device will have the following format.

Example Data Packet:

Below is an example of a MIP data packet which has one field that contains the scaled accelerometer vector.

Header Packet Payload Checksum
SYNC1 “u SYNC2 “e” Descriptor

Set byte
Payload Length byte Field Byte Length Field Descriptor Byte Field Data:
Accel vector (12 bytes,
3 float – X, Y, Z)
MSB LSB
0x75 0x65 0x80 0x0E 0x0E 0x04 0x3E 7A 63 A0
0xBB 8E 3B 29
0x7F E5 BF 7F
0x84 0xEE
Copy-Paste version: "7565 800E 0E04 3E7A 63A0 BB8E 3B29 7FE5 BF7F 84EE”

The packet header has the “ue” starting sync bytes characteristic of all MIP packets. Next, descriptor set byte identifies the payload field as being from the Sensor Data (0x80) descriptor set. The final byte of the header is the length of the packet payload (15 bytes, 0x03). The payload portion of the packet comes next after the header and starts with the length of the field. The field descriptor byte identifies the field data as the quantity. The field data itself is three single precision floating point values of 4 bytes each (total of 12 bytes) representing the X, Y, and Z axis values of the vector. The checksum is a two byte Fletcher Checksum.

The format of the field data is fully and unambiguously specified by the descriptor. In this example, the field descriptor (0x04) specifies that the field data holds an array of three single precision IEEE-754 floating point numbers in big-endian byte order and that the values represent units of “g’s” and the order of the values is X, Y, Z vector order. Any other specification would require a different descriptor.

Data polling commands generate two individual reply packets: An ACK/NACK packet and a data packet. Enable/Disable continuous data commands generate an ACK/NACK packet and a continuous stream of data packets.

The data packets from each descriptor set can configured so that each data quantity is sent at a different rate. For example, you can setup continuous data to send the accelerometer vector at 100 Hz and the delta theta vector at 5 Hz. This means that packets will be sent at 100 Hz and each one will have the accelerometer vector but only every 20th packet will have the delta theta vector. This helps reduce bandwidth and buffering requirements. See Multiple Rate Data.

If a large number of descriptors are selected for streaming or polling, the amount of data may exceed the size of a single MIP packet. In this case, additional packets, called MIP Continuation Packets, are emitted by the device.